package com.wh.wisdomsite.xbox.server.interceptor;

import com.wh.wisdomsite.xbox.common.XboxRequestContext;
import com.wh.wisdomsite.xbox.core.interceptor.AbstractInterceptor;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Component;

/***
 *
 * @Package com.wh.wisdomsite.xbox.server.interceptor
 * @author 谢泽鹏
 * @date 2016年11月07日 下午15:10
 * @Copyright 个人版权所有
 * @Company 贵州万华科技有限公司Copyright (c) 2016
 * @version V1.0
 */
@Component
public class ReservedUserNameInterceptor extends AbstractInterceptor {

    private static final Log logger = LogFactory.getLog(ReservedUserNameInterceptor.class);

    /**
     * 在数据绑定后，服务方法调用前执行该拦截方法
     * @param xboxRequestContext
     */
    @Override
    public void beforeService(XboxRequestContext xboxRequestContext) {
        logger.info("beforeService ...");
    }

    /**
     * 在服务执行完成后，响应返回前执行该拦截方法
     * @param xboxRequestContext
     */
    @Override
    public void beforeResponse(XboxRequestContext xboxRequestContext) {
        logger.info("beforeResponse ...");
    }

    /**
     * 对method为user.add的方法进行拦截，你可以通过methodContext中的信息制定拦截方案
     * @param xboxRequestContext
     * @return
     */
    @Override
    public boolean isMatch(XboxRequestContext xboxRequestContext) {
        return "user.add".equals(xboxRequestContext.getMethod());
    }
}

